/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.apbetioli.mapr.map;

import com.apbetioli.mapr.util.properties.PropertiesLoaderImpl;
import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author alexandre
 */
public class KmlLoader extends HttpServlet {
   
    String kmlDir = System.getProperty("user.home") + File.separator + PropertiesLoaderImpl.getValue("config.properties", "kml.generator.folder"); 
    
    /** 
    * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
    * @param request servlet request
    * @param response servlet response
    */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/xml");
        PrintWriter out = response.getWriter();
        try {
            
            String projectKeyParam = request.getParameter("key");
            if(projectKeyParam == null) {
                out.println("<error>Please inform key parameter</error>");
                return;
            }
            
            File kml = new File( kmlDir  + projectKeyParam + ".kml");
            
            if( !kml.exists() ) {
                out.println("<error>Kml not found by key specified</error>");
                return;            
            }
            
            FileReader fr = new FileReader(kml);
            BufferedReader br = new BufferedReader(fr);

            String line = null;
            while( (line = br.readLine()) != null ) {
                out.println(line);
            }
            
        } finally { 
            out.close();
        }
    } 

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
    * Handles the HTTP <code>GET</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 

    /** 
    * Handles the HTTP <code>POST</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
    * Returns a short description of the servlet.
    */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}
